package com.shimao.celnet.payment.model.request;

import org.hibernate.validator.constraints.NotBlank;

import java.util.List;

public class CallIn_OutInvOpenRedReqIn {

    /**
     * 是否全部红冲
     * 全额红冲标识:0：非全额；1：全额；
     */
    @NotBlank(message = "全部红冲【allFlg】")
    private String allFlg;

    /**
     * 红冲原发票guid；
     */
    @NotBlank(message = "红冲原发票id【blueReceiptGuid】")
    private String blueReceiptGuid;

    /**
     * 设备类型；
     */
    @NotBlank(message = "设备类型【deviceType】")
    private String deviceType;

    /**
     * 业务类型；
     */
    private String businessType;

    /**
     * 小区的SFID；
     */
    private String estateId;
    private String estateName;


    /**
     * 发票种类；
     */
    private String invoiceTypeCode;

    /**
     * 开票点编码；
     */
    @NotBlank(message = "开票点编码【invoiceTerminalCode】")
    private String invoiceTerminalCode;

    /**
     * 特殊票种标记；
     */
    private String invoiceSpecialMark;

    /**
     * 开票人；
     */
    @NotBlank(message = "开票人【drawer】")
    private String drawer;
    private String checker;
    private String payee;

    /**
     * 清单标志；
     */
    private String invoiceListMark;

    /**
     * ；红字信息表编号（给专票用的，专票的红冲时使用）
     */
    private String redInfoNo;

    /**
     * 购方单位税号
     购方单位名称，即时开票标识为1时必须
     购方地址及电话，专票必填，即时开票标识为1时必须
     购方开户行及账号，专票必填
     */
    private String buyerTaxNo;
    private String buyerName;
    private String buyerPhone;
    private String buyerEmail;
    private String buyerAddressPhone;
    private String  buyerBankAccount;

    /**
     * 原发票代码；
     */
    private String originalInvoiceCode;

    /**
     * 原发票号码；
     */
    private String originalInvoiceNo;

    /**
     * 征税方式；
     */
    private String taxationMode;

    private String taxDiskNo;

    private String taxDiskKey;

    private String taxDiskPassword;

    /**
     * 红冲金额合计；
     */
    private String invoiceTotalPriceTax;
    private String deductibleAmount;

    private String remarks;
    /**
     * 业主名称
     */
    private String userName;

    /**
     * 房源名称
     */
    private String houseName;

    /**
     * 房源sfid
     */

    private String houseSfId;
    /**
     * 开票明细
     */
    private List<CallIn_OutInvOpenRedDetailReqIn> InvoiceDetailsList;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getHouseName() {
        return houseName;
    }

    public void setHouseName(String houseName) {
        this.houseName = houseName;
    }

    public String getHouseSfId() {
        return houseSfId;
    }

    public void setHouseSfId(String houseSfId) {
        this.houseSfId = houseSfId;
    }

    public String getBuyerTaxNo() {
        return buyerTaxNo;
    }

    public void setBuyerTaxNo(String buyerTaxNo) {
        this.buyerTaxNo = buyerTaxNo;
    }

    public String getBuyerName() {
        return buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    public String getBuyerAddressPhone() {
        return buyerAddressPhone;
    }

    public void setBuyerAddressPhone(String buyerAddressPhone) {
        this.buyerAddressPhone = buyerAddressPhone;
    }

    public String getBuyerBankAccount() {
        return buyerBankAccount;
    }

    public void setBuyerBankAccount(String buyerBankAccount) {
        this.buyerBankAccount = buyerBankAccount;
    }

    public String getDeductibleAmount() {
        return deductibleAmount;
    }

    public void setDeductibleAmount(String deductibleAmount) {
        this.deductibleAmount = deductibleAmount;
    }

    public String getBuyerPhone() {
        return buyerPhone;
    }

    public void setBuyerPhone(String buyerPhone) {
        this.buyerPhone = buyerPhone;
    }

    public String getBuyerEmail() {
        return buyerEmail;
    }

    public void setBuyerEmail(String buyerEmail) {
        this.buyerEmail = buyerEmail;
    }

    public String getAllFlg() {
        return allFlg;
    }

    public void setAllFlg(String allFlg) {
        this.allFlg = allFlg;
    }

    public String getBlueReceiptGuid() {
        return blueReceiptGuid;
    }

    public void setBlueReceiptGuid(String blueReceiptGuid) {
        this.blueReceiptGuid = blueReceiptGuid;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getInvoiceTypeCode() {
        return invoiceTypeCode;
    }

    public void setInvoiceTypeCode(String invoiceTypeCode) {
        this.invoiceTypeCode = invoiceTypeCode;
    }

    public String getInvoiceTerminalCode() {
        return invoiceTerminalCode;
    }

    public void setInvoiceTerminalCode(String invoiceTerminalCode) {
        this.invoiceTerminalCode = invoiceTerminalCode;
    }

    public String getInvoiceSpecialMark() {
        return invoiceSpecialMark;
    }

    public void setInvoiceSpecialMark(String invoiceSpecialMark) {
        this.invoiceSpecialMark = invoiceSpecialMark;
    }

    public String getDrawer() {
        return drawer;
    }

    public void setDrawer(String drawer) {
        this.drawer = drawer;
    }

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public String getPayee() {
        return payee;
    }

    public void setPayee(String payee) {
        this.payee = payee;
    }

    public String getInvoiceListMark() {
        return invoiceListMark;
    }

    public void setInvoiceListMark(String invoiceListMark) {
        this.invoiceListMark = invoiceListMark;
    }

    public String getRedInfoNo() {
        return redInfoNo;
    }

    public void setRedInfoNo(String redInfoNo) {
        this.redInfoNo = redInfoNo;
    }

    public String getOriginalInvoiceCode() {
        return originalInvoiceCode;
    }

    public void setOriginalInvoiceCode(String originalInvoiceCode) {
        this.originalInvoiceCode = originalInvoiceCode;
    }

    public String getOriginalInvoiceNo() {
        return originalInvoiceNo;
    }

    public void setOriginalInvoiceNo(String originalInvoiceNo) {
        this.originalInvoiceNo = originalInvoiceNo;
    }

    public String getTaxationMode() {
        return taxationMode;
    }

    public void setTaxationMode(String taxationMode) {
        this.taxationMode = taxationMode;
    }

    public String getTaxDiskNo() {
        return taxDiskNo;
    }

    public void setTaxDiskNo(String taxDiskNo) {
        this.taxDiskNo = taxDiskNo;
    }

    public String getTaxDiskKey() {
        return taxDiskKey;
    }

    public void setTaxDiskKey(String taxDiskKey) {
        this.taxDiskKey = taxDiskKey;
    }

    public String getTaxDiskPassword() {
        return taxDiskPassword;
    }

    public void setTaxDiskPassword(String taxDiskPassword) {
        this.taxDiskPassword = taxDiskPassword;
    }

    public String getInvoiceTotalPriceTax() {
        return invoiceTotalPriceTax;
    }

    public void setInvoiceTotalPriceTax(String invoiceTotalPriceTax) {
        this.invoiceTotalPriceTax = invoiceTotalPriceTax;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public List<CallIn_OutInvOpenRedDetailReqIn> getInvoiceDetailsList() {
        return InvoiceDetailsList;
    }

    public void setInvoiceDetailsList(List<CallIn_OutInvOpenRedDetailReqIn> invoiceDetailsList) {
        InvoiceDetailsList = invoiceDetailsList;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getEstateId() {
        return estateId;
    }

    public void setEstateId(String estateId) {
        this.estateId = estateId;
    }

    public String getEstateName() {
        return estateName;
    }

    public void setEstateName(String estateName) {
        this.estateName = estateName;
    }

}
